Share git version parsing code with wrapper module 'repo' and 'git_command.py' had their own git version parsing code. This change shares that code between the modules. DRY is good. Change-Id: Ic896d2dc08353644bd4ced57e15a91284d97d54a 
diff --git a/repo b/repo index 56d784f..1587fef 100755 --- a/repo +++ b/repo 
@@ -278,6 +278,20 @@  raise     +def ParseGitVersion(ver_str): + if not ver_str.startswith('git version '): + return None + + num_ver_str = ver_str[len('git version '):].strip().split('-')[0] + to_tuple = [] + for num_str in num_ver_str.split('.')[:3]: + if num_str.isdigit(): + to_tuple.append(int(num_str)) + else: + to_tuple.append(0) + return tuple(to_tuple) + +  def _CheckGitVersion():  cmd = [GIT, '--version']  try: @@ -295,12 +309,11 @@  proc.stdout.close()  proc.wait()   - if not ver_str.startswith('git version '): + ver_act = ParseGitVersion(ver_str) + if ver_act is None:  _print('error: "%s" unsupported' % ver_str, file=sys.stderr)  raise CloneFailure()   - ver_str = ver_str[len('git version '):].strip() - ver_act = tuple(map(int, ver_str.split('.')[0:3]))  if ver_act < MIN_GIT_VERSION:  need = '.'.join(map(str, MIN_GIT_VERSION))  _print('fatal: git %s or later required' % need, file=sys.stderr)